<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<iframe id="allowedIframe" sandbox="allow-scripts allow-same-origin allow-orientation-lock" style="display:none">
</iframe>

<iframe id="disallowedIframe" sandbox="allow-scripts allow-same-origin" style="display:none">
</iframe>
<script>
promise_test(async t => {
  const messageWatcher = new EventWatcher(t, window, "message");
  const disallowedIframe = document.getElementById("disallowedIframe");
  disallowedIframe.src = "resources/sandboxed-iframe-locking.html";

  const message = await messageWatcher.wait_for("message");
  assert_equals(message.data, "SecurityError", "screen.lockOrientation() throws a SecurityError");
}, "Test without 'allow-orientation-lock' sandboxing directive");

promise_test(async t => {
  const messageWatcher = new EventWatcher(t, window, "message");
  const disallowedIframe = document.getElementById("allowedIframe");
  disallowedIframe.src = "resources/sandboxed-iframe-locking.html";

  const message = await messageWatcher.wait_for("message");
  assert_equals(message.data, "portrait-primary", "screen.orientation lock to portrait-primary");
}, "Test with 'allow-orientation-lock' sandboxing directive");
</script>
